package com.wei.czz.framework.common.controller;


import com.wei.czz.common.dto.common.importTask.ImportTaskDto;
import com.wei.czz.common.dto.common.importTask.ImportTaskPageEnumDto;
import com.wei.czz.common.jsr303.group.Search;
import com.wei.czz.common.tool.PageDto;
import com.wei.czz.common.tool.Result;
import com.wei.czz.common.vo.common.importTask.ImportTaskFormVo;
import com.wei.czz.framework.common.manager.ImportTaskManager;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletResponse;


/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2022-03-19 14:10:11
 * className: ImportTaskController 文件导入请求操作接口类
 * version: 1.0
 * description:
 */
@RestController
@RequestMapping("/import-task")
@AllArgsConstructor
public class ImportTaskController {

    private static final Logger log = LoggerFactory.getLogger(ImportTaskController.class);

    private final ImportTaskManager importTaskManager;

    /**
     * 分页获取文件导入任务接口
     * @param importTaskFormVo 参数对象
     * @return 结果
     */
    @PostMapping("/page/list")
    public Result<PageDto<ImportTaskDto>> getImportTaskPageList(
            @Validated(Search.class) @RequestBody ImportTaskFormVo importTaskFormVo) {
        log.info("开始分页获取文件导入任务业务。{}", importTaskFormVo);

        PageDto<ImportTaskDto> pageDto = importTaskManager.getImportTaskPageList(importTaskFormVo);

        log.info("分页获取文件导入任务业务结束");
        return Result.success(pageDto);
    }

    /**
     * 获取文件导入任务管理页面枚举接口
     * @return 结果
     */
    @GetMapping("/page/enum")
    public Result<ImportTaskPageEnumDto> getPageEnum() {
        log.info("开始获取文件导入任务管理页面枚举业务");

        ImportTaskPageEnumDto importTaskPageEnumDto = importTaskManager.getPageEnum();

        log.info("获取文件导入任务管理页面枚举业务结束");
        return Result.success(importTaskPageEnumDto);
    }
}
